When originally designed, the TCP protocol was aimed to run over networks supporting high bandwidth, short delays and limited congestions. Many networks today, in general, and specifically wireless networks, are in many cases not the optimal infrastructure to run TCP over. In many cases, wireless networks, and particularly mobile networks, are characterized by high losses due to radio propagation impairments, high delays, and limited bandwidth. Small scale degradations over the air interface, such as fast fading, induce fluctuations, and losses over the air interface are mistakenly taken as congestion over the fixed networks by TCP. Although radio link control mechanisms typically use retransmissions to achieve error free communications over the air interface, these radio retransmissions sometimes cause delays that are large compared to TCP timescales, resulting in degradation of end-to-end throughput through the network.
Often TCP based mechanisms misinterpret errors over wireless links as congestions and react by retransmitting TCP segments and by reducing the congestion window and thus the overall application throughput. The following factors affect the TCP performance in a wireless (and specifically mobile) network:
Limited bandwidth and long Round Trip Delay (RTD)—Limited bandwidth can lead to buffer overflow, packet lost and retransmissions. For example, during the start of service buffers in the server and terminal (the mobile data client) can overflow and packets are thus lost and are retransmitted. As this happens the congestion thresholds are set accordingly till the network becomes more stable and packet loss reduces dramatically. The long RTD is a built in problem in many networks, including mobile networks, as the source and destination TCP termination points are usually physically distant from each other.
High loss rate—Caused mainly by high error rate over the radio link. Although ARQ is sometimes implemented in the MAC layer, ensuring packets are received correctly, this may, and many times does in fact interfere with the TCP protocol. The ARQ mechanism will delay the traffic till a lost packet is received correctly, thus adding delay on the remaining packets which were received correctly, and in many cases, leading to TCP timeouts and retransmissions. The randomness and the bursty behavior of the errors over wireless links render the effect of packet losses even more harmful.
Mobility and Handoffs—In mobile networks, the mobility of the terminal brings with it changes in the network topology and in the radio link. This mobility and its effects are an additional contributor to the errors and lost packets thus reducing the TCP throughput. During handoffs, data stored in the buffers between the server and the terminal may be lost, leading to drastic degradations of overall TCP throughput. The term “handover” is used interchangeably with the with the term “handoff”.
Asymmetric downlink and uplink bandwidth—Preserving symmetric bandwidth between both directions of the TCP link prevent delays on the acknowledgements. In many mobile networks, the uplink has much less bandwidth capacity compared to the downlink. This often leads to longer acknowledge times and degradation in TCP performance.
The characteristics of TCP and the behavior of many mobile networks lead to poor user experience. Measurement done across various types of mobile networks, show an average packet loss of 3-4% in both uplink and downlink. Measurements done over mobile networks show that during peak hour a degradation of up to 2 points in MOS (Mean Opinion Score) was detected. MOS 5 is considered as best possible quality. Assuming that even under best possible conditions the mobile content consumption experience (due to its frame size, frame rate and bit rate) would reach a MOS grade of 3.5-4, during peak hour this MOS grade would degrade to 1.5-2 which is defined as Bad to Annoying, and can eventually drives users to abandon the service.
In TCP traffic the user experience is affected by the time it takes the end application to present the requested content to the user. Packet loss and high jitter in the network cause the TCP stack on the remote server to retransmit packets, and eventually to narrow down the TCP sliding window leading to reduced throughput between the server and the terminal.
It is very hard to determine the exact degradation in user experience. Studies and measurements show a decrease of about 20-30% in throughput due to retransmissions and jitter delays during peak hour traffic.